// 引入Article集合模型
const { Article } = require("../../models/article");
const { Comment } = require("../../models/comment");
const mongoose = require('mongoose')
const ObjectIdId = mongoose.Types.ObjectId

module.exports = async (req, res) => {
  // 获取文章id
  const aId = req.query.id;
  if (!aId || aId === "undefined") {
    return res.redirect("/home");
  }
  // 检测客户端传递过来的文章id是否符合规范
  if (!ObjectIdId.isValid(aId)) {
    return res.redirect("/home");
  }
  
  // 数据库根据文章id查找文章数据，联查author用户数据
  const article = await Article.findOne({ _id: aId }).populate("author").lean();
  // 找不到文章，重定向至首页
  if(!article) {
    return res.redirect("/home"); 
  }
  // 查询文章的评论
  const comments = await Comment.find({ article: aId })
    .populate("author")
    .lean();
  // 渲染文章详情页面
  res.render("home/article", {
    article,
    comments,
  });
};
